/**
  ******************************************************************************
  * @author     Chris
  * @since      2024/6/18 21:59
  *
  * @file       pd_adc_ch.c
  * @brief      Xxx hardware driver.
  *
  * @note       This file contains the hardware driver for the Xxx.
  *
  * @warning    None.
  ******************************************************************************
  * Change Logs:
  *   Date          Author       Notes
  *   2024/6/18     Chris        the first version
  *
  ******************************************************************************
  */


#include "pd_adc_ch.h"

#include <assert.h>

static void ADCChannel_init_(const ADCChannel *this) {
    assert(0);
}

void ADCChannel_constructor(ADCChannel *this, GPIO *gpios, const uint8_t gpioSize,
                            uint32_t *ranks, const uint8_t rankSize,
                            uint32_t *channels, const uint8_t chSize) {
    static struct ADCChannelVtbl vtbl = {
        .init = &ADCChannel_init_,
    };

    this->vptr = &vtbl;

    this->gpios    = gpios;
    this->gpioSize = gpioSize;
    this->ranks    = ranks;
    this->rankSize = rankSize;
    this->channels = channels;
    this->chSize   = chSize;
}
